//匹配文件后缀
const iconMatcher = {
	img: {
		regexp: '(?i).+?\\.(png|jpg|jpeg|bmp|gif|tif|tiff)',
		icon: 'icon_img.svg'
	},
	txt: {
		regexp: '(?i).+?\\.(txt)',
		icon: 'icon_txt.svg'
	},
	office: {
		regexp: '(?i).+?\\.(doc|docx|pdf|xls|xlsx|ppt)',
		icon: 'icon_office.svg'
	},
	code: {
		regexp: '(?i).+?\\.(java|php|py|js|css)',
		icon: 'icon_code.svg'
	},
	zip: {
		regexp: '(?i).+?\\.(zip|rar|jar|tar|gzip)',
		icon: 'icon_zip.svg'
	},
	vedio: {
		regexp: '(?i).+?\\.(mp4|m2v|mkv)',
		icon: 'icon_vedio.svg'
	},
	audio: {
		regexp: '(?i).+?\\.(mp3|wav|wmv)',
		icon: 'icon_audio.svg'
	},
	other: {
		regexp: '(?i).+?\\.(other)',
		icon: 'icon_other.svg'
	}
}
const filePath = './images/document/'
/**
 * @description 根据文件名 获取文件类型， 图标， 处理方式
 * @param {String} fileName 文件名称 
 */
export function fileMatcher(fileName) {
	// 1. 匹配图片 ['png', 'jpg', 'jpeg', 'bmp', 'gif','tif','tiff']
	// 2. 匹配txt  ['txt']
	// 3. 匹配xml  ['xml']
	// 4. 匹配 office文件 ['doc','docx','pdf','xls','xlsx','ppt']
	// 5. 匹配代码文件 ['java','php','py','js','css']
	// 6. 匹配压缩文件 ['zip','rar','jar','tar','gzip']
	// 7. 匹配 视频 ['mp4', 'm2v', 'mkv']
	// 8. 匹配 音频 ['mp3', 'wav', 'wmv']
	// 9. 其他 文件类型  'other'
	const suffix = fileName.substr(fileName.lastIndexOf('.') + 1, fileName.length - 1)
  let icon

	for (let k in iconMatcher) {
		if(iconMatcher[k].regexp.match(suffix)) {
			icon = `${filePath}${iconMatcher[k].icon}`
			break
		}
		// 默认
		if(k === 'other') {
			icon = `${filePath}${iconMatcher.other.icon}`
		}
	}
	
	return {
		suffix,
		icon
	}
}